package com.example.chamberlainserver.dto;

import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 时间填报数据传输对象
 */
@Data
public class TimeReportDTO {
    /**
     * 主键ID
     */
    private Integer id;
    
    /**
     * 用户ID
     */
    private Integer userId;
    
    /**
     * 用户姓名
     */
    private String userName;
    
    /**
     * 用户昵称
     */
    private String userNickName;
    
    /**
     * 学号
     */
    private String stuNo;
    
    /**
     * 填报日期
     */
    private LocalDate reportDate;
    
    /**
     * 工作时长（小时）
     */
    private Double workHours;
    
    /**
     * 工作描述
     */
    private String description;
    
    /**
     * 状态: 0-待审核 1-已通过 2-已拒绝
     */
    private Integer status;
    
    /**
     * 状态描述
     */
    private String statusText;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    
    /**
     * 审核人ID
     */
    private Integer reviewerId;
    
    /**
     * 审核人姓名
     */
    private String reviewerName;
    
    /**
     * 审核时间
     */
    private LocalDateTime reviewTime;
    
    /**
     * 审核备注
     */
    private String reviewComment;
    
    /**
     * 获取状态描述
     */
    public String getStatusText() {
        if (status == null) {
            return "未知";
        }
        switch (status) {
            case 0:
                return "待审核";
            case 1:
                return "已通过";
            case 2:
                return "已拒绝";
            default:
                return "未知";
        }
    }
}